<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>libspotify: Album browsing</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">libspotify
   
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.8.0 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Album browsing</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gabd76254f89048e6d368929015a0c739f"><td class="memItemLeft" align="right" valign="top">typedef void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__albumbrowse.html#gabd76254f89048e6d368929015a0c739f">albumbrowse_complete_cb</a> (<a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *result, void *userdata)</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaf1bc3042e748efea5ca7ac159e5cbfbe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__albumbrowse.html#gaf1bc3042e748efea5ca7ac159e5cbfbe">sp_albumbrowse_create</a> (<a class="el" href="group__types.html#ga70dd19c6f824cf6a159575aa4c128b53">sp_session</a> *session, <a class="el" href="group__types.html#ga6fd3e5de729c429fef3ff18ece6dcfad">sp_album</a> *album, <a class="el" href="group__albumbrowse.html#gabd76254f89048e6d368929015a0c739f">albumbrowse_complete_cb</a> *callback, void *userdata)</td></tr>
<tr class="memitem:gad618d2752eb55173ab373d1407971960"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__albumbrowse.html#gad618d2752eb55173ab373d1407971960">sp_albumbrowse_is_loaded</a> (<a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *alb)</td></tr>
<tr class="memitem:ga153417eee319e7711b66503f88fba88b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__error.html#gafd27986ce4cd9eeaeca8adda83c9eb6b">sp_error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__albumbrowse.html#ga153417eee319e7711b66503f88fba88b">sp_albumbrowse_error</a> (<a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *alb)</td></tr>
<tr class="memitem:gaf0dadfc4edb48a3558b606e30e8bedfa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__types.html#ga6fd3e5de729c429fef3ff18ece6dcfad">sp_album</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__albumbrowse.html#gaf0dadfc4edb48a3558b606e30e8bedfa">sp_albumbrowse_album</a> (<a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *alb)</td></tr>
<tr class="memitem:ga4f835537a65bcac9ec52cef1058a44bc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__types.html#ga31764fbd69618c10be173c6c03d4c1bc">sp_artist</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__albumbrowse.html#ga4f835537a65bcac9ec52cef1058a44bc">sp_albumbrowse_artist</a> (<a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *alb)</td></tr>
<tr class="memitem:gab53fa74ee1958dad5186be09e70ddc4a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__albumbrowse.html#gab53fa74ee1958dad5186be09e70ddc4a">sp_albumbrowse_num_copyrights</a> (<a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *alb)</td></tr>
<tr class="memitem:ga34b205daa2960e8d02a6e1accd80ab92"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__albumbrowse.html#ga34b205daa2960e8d02a6e1accd80ab92">sp_albumbrowse_copyright</a> (<a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *alb, int index)</td></tr>
<tr class="memitem:ga3fb91de745ca07d3801a57288f2d9da7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__albumbrowse.html#ga3fb91de745ca07d3801a57288f2d9da7">sp_albumbrowse_num_tracks</a> (<a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *alb)</td></tr>
<tr class="memitem:gad3c8df4b75158bba2c06aaefa74c5aa1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__types.html#ga47bbd2262f0c8b5d7147af7d62198e48">sp_track</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__albumbrowse.html#gad3c8df4b75158bba2c06aaefa74c5aa1">sp_albumbrowse_track</a> (<a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *alb, int index)</td></tr>
<tr class="memitem:ga868f3f3263f5033ae1fba60f403be712"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__albumbrowse.html#ga868f3f3263f5033ae1fba60f403be712">sp_albumbrowse_review</a> (<a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *alb)</td></tr>
<tr class="memitem:ga2f1e1049065e8c090c010f8e43061bd4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__albumbrowse.html#ga2f1e1049065e8c090c010f8e43061bd4">sp_albumbrowse_backend_request_duration</a> (<a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *alb)</td></tr>
<tr class="memitem:ga05c5a7f0d5beb84d6a5ccddc949f5eba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__albumbrowse.html#ga05c5a7f0d5beb84d6a5ccddc949f5eba">sp_albumbrowse_add_ref</a> (<a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *alb)</td></tr>
<tr class="memitem:gae6bf5a9b070518bfe0da07a03fdb01f0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__albumbrowse.html#gae6bf5a9b070518bfe0da07a03fdb01f0">sp_albumbrowse_release</a> (<a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *alb)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>Browsing adds additional information to what an <a class="el" href="group__types.html#ga6fd3e5de729c429fef3ff18ece6dcfad" title="An album handle.">sp_album</a> holds. It retrieves copyrights, reviews and tracks of the album. </p>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="gabd76254f89048e6d368929015a0c739f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void <a class="el" href="group__albumbrowse.html#gabd76254f89048e6d368929015a0c739f">albumbrowse_complete_cb</a>(<a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *result, void *userdata)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The type of a callback used in <a class="el" href="group__albumbrowse.html#gaf1bc3042e748efea5ca7ac159e5cbfbe">sp_albumbrowse_create()</a></p>
<p>When the callback is called, the metadata of all tracks belonging to it will have been loaded, so <a class="el" href="group__track.html#ga8b69cf193679c7e00031ae43e61c6a54">sp_track_is_loaded()</a> will return non-zero. The <a class="el" href="group__types.html#ga31764fbd69618c10be173c6c03d4c1bc" title="An artist handle.">sp_artist</a> of the album will also have been fully loaded.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>The same pointer returned by <a class="el" href="group__albumbrowse.html#gaf1bc3042e748efea5ca7ac159e5cbfbe">sp_albumbrowse_create()</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">userdata</td><td>The opaque pointer given to <a class="el" href="group__albumbrowse.html#gaf1bc3042e748efea5ca7ac159e5cbfbe">sp_albumbrowse_create()</a> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga05c5a7f0d5beb84d6a5ccddc949f5eba"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__albumbrowse.html#ga05c5a7f0d5beb84d6a5ccddc949f5eba">sp_albumbrowse_add_ref</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *&#160;</td>
          <td class="paramname"><em>alb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Increase the reference count of an album browse result</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">alb</td><td>The album browse result object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaf0dadfc4edb48a3558b606e30e8bedfa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__types.html#ga6fd3e5de729c429fef3ff18ece6dcfad">sp_album</a>* <a class="el" href="group__albumbrowse.html#gaf0dadfc4edb48a3558b606e30e8bedfa">sp_albumbrowse_album</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *&#160;</td>
          <td class="paramname"><em>alb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Given an album browse object, return the pointer to its album object</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">alb</td><td>Album browse object</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Album object </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="browse_8c-example.html#a14">browse.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga4f835537a65bcac9ec52cef1058a44bc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__types.html#ga31764fbd69618c10be173c6c03d4c1bc">sp_artist</a>* <a class="el" href="group__albumbrowse.html#ga4f835537a65bcac9ec52cef1058a44bc">sp_albumbrowse_artist</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *&#160;</td>
          <td class="paramname"><em>alb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Given an album browse object, return the pointer to its artist object</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">alb</td><td>Album browse object</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Artist object </dd></dl>

</div>
</div>
<a class="anchor" id="ga2f1e1049065e8c090c010f8e43061bd4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__albumbrowse.html#ga2f1e1049065e8c090c010f8e43061bd4">sp_albumbrowse_backend_request_duration</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *&#160;</td>
          <td class="paramname"><em>alb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return the time (in ms) that was spent waiting for the Spotify backend to serve the request</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">alb</td><td>Album browse object</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>-1 if the request was served from the local cache If the result is not yet loaded the return value is undefined </dd></dl>

</div>
</div>
<a class="anchor" id="ga34b205daa2960e8d02a6e1accd80ab92"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="group__albumbrowse.html#ga34b205daa2960e8d02a6e1accd80ab92">sp_albumbrowse_copyright</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *&#160;</td>
          <td class="paramname"><em>alb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Given an album browse object, return one of its copyright strings</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">alb</td><td>Album browse object </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>The index for the copyright string. Should be in the interval [0, <a class="el" href="group__albumbrowse.html#gab53fa74ee1958dad5186be09e70ddc4a">sp_albumbrowse_num_copyrights()</a> - 1]</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Copyright string in UTF-8 format, or NULL if the index is invalid. Returned string is valid as long as the album object stays allocated and no longer than the next call to <a class="el" href="group__session.html#ga019a640b351de2a1ffe040ed755013f4">sp_session_process_events()</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="browse_8c-example.html#a17">browse.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaf1bc3042e748efea5ca7ac159e5cbfbe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a>* <a class="el" href="group__albumbrowse.html#gaf1bc3042e748efea5ca7ac159e5cbfbe">sp_albumbrowse_create</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#ga70dd19c6f824cf6a159575aa4c128b53">sp_session</a> *&#160;</td>
          <td class="paramname"><em>session</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__types.html#ga6fd3e5de729c429fef3ff18ece6dcfad">sp_album</a> *&#160;</td>
          <td class="paramname"><em>album</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__albumbrowse.html#gabd76254f89048e6d368929015a0c739f">albumbrowse_complete_cb</a> *&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>userdata</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Initiate a request for browsing an album</p>
<p>The user is responsible for freeing the returned album browse using <a class="el" href="group__albumbrowse.html#gae6bf5a9b070518bfe0da07a03fdb01f0">sp_albumbrowse_release()</a>. This can be done in the callback.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">session</td><td>Session object </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">album</td><td>Album to be browsed. The album metadata does not have to be loaded </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>Callback to be invoked when browsing has been completed. Pass NULL if you are not interested in this event. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">userdata</td><td>Userdata passed to callback.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Album browse object</dd></dl>
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="group__albumbrowse.html#gabd76254f89048e6d368929015a0c739f">albumbrowse_complete_cb</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="browse_8c-example.html#a48">browse.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga153417eee319e7711b66503f88fba88b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__error.html#gafd27986ce4cd9eeaeca8adda83c9eb6b">sp_error</a> <a class="el" href="group__albumbrowse.html#ga153417eee319e7711b66503f88fba88b">sp_albumbrowse_error</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *&#160;</td>
          <td class="paramname"><em>alb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if browsing returned an error code.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">alb</td><td>Album browse object</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>One of the following errors, from <a class="el" href="group__error.html#ga83154178d3a32668658734d2facfa22b">sp_error</a> SP_ERROR_OK SP_ERROR_IS_LOADING SP_ERROR_OTHER_PERMANENT SP_ERROR_OTHER_TRANSIENT </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="browse_8c-example.html#a28">browse.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gad618d2752eb55173ab373d1407971960"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="group__albumbrowse.html#gad618d2752eb55173ab373d1407971960">sp_albumbrowse_is_loaded</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *&#160;</td>
          <td class="paramname"><em>alb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if an album browse request is completed</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">alb</td><td>Album browse object</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>True if browsing is completed, false if not </dd></dl>

</div>
</div>
<a class="anchor" id="gab53fa74ee1958dad5186be09e70ddc4a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__albumbrowse.html#gab53fa74ee1958dad5186be09e70ddc4a">sp_albumbrowse_num_copyrights</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *&#160;</td>
          <td class="paramname"><em>alb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Given an album browse object, return number of copyright strings</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">alb</td><td>Album browse object</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Number of copyright strings available, 0 if unknown </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="browse_8c-example.html#a16">browse.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga3fb91de745ca07d3801a57288f2d9da7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__albumbrowse.html#ga3fb91de745ca07d3801a57288f2d9da7">sp_albumbrowse_num_tracks</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *&#160;</td>
          <td class="paramname"><em>alb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Given an album browse object, return number of tracks</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">alb</td><td>Album browse object</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Number of tracks on album </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="browse_8c-example.html#a18">browse.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gae6bf5a9b070518bfe0da07a03fdb01f0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__albumbrowse.html#gae6bf5a9b070518bfe0da07a03fdb01f0">sp_albumbrowse_release</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *&#160;</td>
          <td class="paramname"><em>alb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Decrease the reference count of an album browse result</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">alb</td><td>The album browse result object </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="browse_8c-example.html#a31">browse.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga868f3f3263f5033ae1fba60f403be712"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="group__albumbrowse.html#ga868f3f3263f5033ae1fba60f403be712">sp_albumbrowse_review</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *&#160;</td>
          <td class="paramname"><em>alb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Given an album browse object, return its review</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">alb</td><td>Album browse object</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Review string in UTF-8 format. Returned string is valid as long as the album object stays allocated and no longer than the next call to <a class="el" href="group__session.html#ga019a640b351de2a1ffe040ed755013f4">sp_session_process_events()</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="browse_8c-example.html#a19">browse.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gad3c8df4b75158bba2c06aaefa74c5aa1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__types.html#ga47bbd2262f0c8b5d7147af7d62198e48">sp_track</a>* <a class="el" href="group__albumbrowse.html#gad3c8df4b75158bba2c06aaefa74c5aa1">sp_albumbrowse_track</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#ga9c4550473a7a07790778ba870c31b4d9">sp_albumbrowse</a> *&#160;</td>
          <td class="paramname"><em>alb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Given an album browse object, return a pointer to one of its tracks</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">alb</td><td>Album browse object </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>The index for the track. Should be in the interval [0, <a class="el" href="group__albumbrowse.html#ga3fb91de745ca07d3801a57288f2d9da7">sp_albumbrowse_num_tracks()</a> - 1]</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>A track.</dd></dl>
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="group__track.html">Track subsystem</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="browse_8c-example.html#a20">browse.c</a>.</dd>
</dl>
</div>
</div>
</div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
Generated on Wed Mar 28 2012 18:22:23.<br>
Copyright &copy; 2006&ndash;2012 Spotify Ltd</small></address>
</body>
</html>
